import axios from 'axios';
import { Toast } from 'zarm';

// vite 中获取环境变量
const MODE=import.meta.env.MODE; //  'development'; 

// 判断是本地环境还是上线环境
axios.defaults.baseURL= MODE === 'development' ? '/api' : ''; 

axios.defaults.withCredentials=true; // 跨域请求是否携带凭证

// 设置请求方式
axios.defaults.headers['X-Requested-With']='XMLHttpRequest';

// 设置用户凭证
axios.defaults.headers['Authorization']=`${localStorage.getItem('token') || null}`;

axios.defaults.headers.post['Content-Type']='application/json';

// 响应拦截
axios.interceptors.response.use(res=>{
    if (typeof(res.data) !== 'object'){    // res中一定会有data，自己写;
        Toast.show('服务器异常');
        return Promise.reject(res);
    }
    if(res.data.code != 200){
        if(res.data.msg) Toast.show(res.data.msg);
        if(res.data.code==401){
            window.location.href='/login';
        }
        return Promise.reject(res.data);
    }
    return res.data;   
})

export default axios;